package bit_exercises.Day4;

import java.util.Scanner;

/**
 * @author zerorain
 * @date 2022/04/20 23:30
 **/
//第二题
//public class Main{
//    public static void main(String[] args) {
//        Scanner sc = new Scanner(System.in);
//        int m = sc.nextInt();
//        int n = sc.nextInt();
//        boolean flg = false;//代表不是负数
//        String table = "0123456789ABCDEF";
//        //需要动态存储，所以使用单进程下效率更高的StringBuilder
//        StringBuilder str = new StringBuilder();
//        if(m == 0){
//            str.append(0);
//        }
//        if(m < 0) {
//            m = -m;
//            flg = true;
//        }
//
//        while(m != 0) {
//            str.append(table.charAt(m%n));
//            m = m/n;
//        }
//        if(flg) {
//            str.append("-");
//        }
//        str.reverse();
//        System.out.println(str);
//    }
//}


//第一题 计算糖果
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int d = sc.nextInt();
        int B1 = (b + d) / 2;
        int A = (a + c) / 2;
        int C = (d - b) / 2;
        int B2 = (c - a)/ 2;

        if (A >= 0 && B1 >= 0 && C >= 0 && B1 == B2) {
            System.out.print(A + " ");
            System.out.print(B1 + " ");
            System.out.print(C + " ");
        }else {
            System.out.println("No");
        }

    }
}